<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <title>登录页面</title>
    <link rel="stylesheet" href="css/style.css">
    <style>
        form {
            width: 270px;
        }

        input {
            width: 70%;
            background: #eee;
        }

        input:focus {
            background: #fff;
        }

        form {
            padding: 0 12px 12px;
        }

        label {
            display: block;
            padding-bottom: 12px;
        }

        #img-vcode {
            width: 56px;
            height: 21px;
            float: right;
            position: relative;
            top: 2px;
            left: -6px
        }

        .label-text {
            width: 30%;
            float: left;
        }
    </style>
</head>
<body>
<div id="app">
    <div id="wrap">
        <div id="header">
            <div style="float: right;padding-top: 24px"><span v-text="time"/>&emsp;</div>
            <h1>旅游信息管理系统</h1>
        </div>
        <div id="header-bar"></div>
        <div id="content" style="height: 360px">
            <img src="img/timg.jpg" style="float: right;height: 320px">
            <h2>登录</h2>
            <form action="province/provincelist.html" method="post">
                <label>
                    <div class="label-text">账&emsp;号：</div>
                    <input type="text" v-model="user.username" name="username">
                </label>
                <label>
                    <div class="label-text">密&emsp;码：</div>
                    <input type="password" v-model="user.password" name="password">
                </label>
                <img :src="src" :key="key" @click="getImage" id="img-vcode">
                <label>
                    <div class="label-text">验证码：</div>
                    <input type="text" v-model="code" name="vcode" style="width: 100px">
                </label>
                <button type="button" @click="login">登 录</button>&emsp;
                <a href="reg.html">去注册</a>
            </form>
        </div>
        <div id="footer">
            @小方-Studyt
        </div>
    </div>
</div>
</body>
</html>
<script src="./js/vue.js"></script>
<script src="./js/axios.min.js"></script>
<script>
    const app = new Vue({
        el: "#app",
        data: {
            user: {},
            code: "",
            time: "",
            src: "",
            key: ""
        },
        methods: {
            login() { // 登录
                if (!this.user.username) {
                    alert('账号不能为空！');
                    return;
                }
                if (!this.user.password) {
                    alert('密码不能为空！');
                    return;
                }

                axios.post('http://localhost:8080/user/login?code=' + this.code + "&key=" + this.key, this.user).then((res) => {
                    console.log(res.data);
                    localStorage.setItem("userid", res.data.userId);
                    if (res.data.state) {
                        alert(res.data.msg + "点击确定进入主页！");
                        window.location.href = './province/provincelist.html';
                    } else {
                        alert(res.data.msg);
                    }
                });
            },
            getImage() {
                _this = this;
                axios.get("http://localhost:8080/user/getImage").then((res) => {
                    console.log(res.data);
                    _this.src = "data:image/png;base64," + res.data.image;
                    _this.key = res.data.key;
                })
            }
        },
        created() {
            this.getImage(); // 获取验证码
            let now = new Date();
            this.time = `${now.getFullYear()}-${now.getMonth() + 1}-${now.getDate()}`;
        }
    });
</script>